// noinspection JSUnresolvedReference /** * Field Google Map */ /* global jQuery, document, redux_change, redux, google */ (function ( $ ) { 'use strict'; redux.field_objects = redux.field_objects || {}; redux.field_objects.google_maps = redux.field_objects.google_maps || {}; /* LIBRARY INIT */ redux.field_objects.google_maps.init = function ( selector ) { if ( ! selector ) { selector = $( document ).find( '.redux-group-tab:visible' ).find( '.redux-container-google_maps:visible' ); } $( selector ).each( function ( i ) { let delayRender; const el = $( this ); let parent = el; if ( ! el.hasClass( 'redux-field-container' ) ) { parent = el.parents( '.redux-field-container:first' ); } if ( parent.is( ':hidden' ) ) { return; } if ( parent.hasClass( 'redux-field-init' ) ) { parent.removeClass( 'redux-field-init' ); } else { return; } // Check for delay render, which is useful for calling a map // render after JavaScript load. delayRender = Boolean( el.find( '.redux_framework_google_maps' ).data( 'delay-render' ) ); // API Key button. redux.field_objects.google_maps.clickHandler( el ); // Init our maps. redux.field_objects.google_maps.initMap( el, i, delayRender ); } ); }; /* INIT MAP FUNCTION */ redux.field_objects.google_maps.initMap = async function ( el, idx, delayRender ) { let delayed; let scrollWheel; let streetView; let mapType; let address; let defLat; let defLong; let defaultZoom; let mapOptions; let geocoder; let g_autoComplete; let g_LatLng; let g_map; let noLatLng = false; // Pull the map class. const mapClass = el.find( '.redux_framework_google_maps' ); const containerID = mapClass.attr( 'id' ); const autocomplete = containerID + '_autocomplete'; const canvas = containerID + '_map_canvas'; const canvasId = $( '#' + canvas ); const latitude = containerID + '_latitude'; const longitude = containerID + '_longitude'; // Add map index to data attr. // Why, say we want to use delay_render, // and want to init the map later on. // You'd need the index number in the // event of multiple map instances. // This allows one to retrieve it // later. $( mapClass ).attr( 'data-idx', idx ); if ( true === delayRender ) { return; } // Map has been rendered, no need to process again. if ( $( '#' + containerID ).hasClass( 'rendered' ) ) { return; } // If a map is set to delay render and has been initiated // from another scrip, add the 'render' class so rendering // does not occur. // It messes things up. delayed = Boolean( mapClass.data( 'delay-render' ) ); if ( true === delayed ) { mapClass.addClass( 'rendered' ); } // Create the autocomplete object, restricting the search // to geographical location types. g_autoComplete = await google.maps.importLibrary( 'places' ); g_autoComplete = new google.maps.places.Autocomplete( document.getElementById( autocomplete ), {types: ['geocode']} ); // Data bindings. scrollWheel = Boolean( mapClass.data( 'scroll-wheel' ) ); streetView = Boolean( mapClass.data( 'street-view' ) ); mapType = Boolean( mapClass.data( 'map-type' ) ); address = mapClass.data( 'address' ); address = decodeURIComponent( address ); address = address.trim(); // Set default Lat/lng. defLat = canvasId.data( 'default-lat' ); defLong = canvasId.data( 'default-long' ); defaultZoom = canvasId.data( 'default-zoom' ); // Eval whether to set maps based on lat/lng or address. if ( '' !== address ) { if ( '' === defLat || '' === defLong ) { noLatLng = true; } } else { noLatLng = false; } // Can't have empty values, or the map API will complain. // Set default for the middle of the United States. defLat = defLat ? defLat : 39.11676722061108; defLong = defLong ? defLong : -100.47761000000003; if ( noLatLng ) { // If displaying a map based on an address. geocoder = new google.maps.Geocoder(); // Set up Geocode and pass address. geocoder.geocode( {'address': address}, function ( results, status ) { let latitude; let longitude; // Function results. if ( status === google.maps.GeocoderStatus.OK ) { // A good address was passed. g_LatLng = results[0].geometry.location; // Set map options. mapOptions = { center: g_LatLng, zoom: defaultZoom, streetViewControl: streetView, mapTypeControl: mapType, scrollwheel: scrollWheel, mapTypeControlOptions: { style: google.maps.MapTypeControlStyle.HORIZONTAL_BAR, position: google.maps.ControlPosition.LEFT_BOTTOM }, mapId: 'REDUX_GOOGLE_MAPS', }; // Create map. g_map = new google.maps.Map( document.getElementById( canvas ), mapOptions ); // Get and set lat/long data. latitude = el.find( '#' + containerID + '_latitude' ); latitude.val( results[0].geometry.location.lat() ); longitude = el.find( '#' + containerID + '_longitude' ); longitude.val( results[0].geometry.location.lng() ); redux.field_objects.google_maps.renderControls( el, latitude, longitude, g_autoComplete, g_map, autocomplete, mapClass, g_LatLng, containerID ); } else { // No data found, alert the user. alert( 'Geocode was not successful for the following reason: ' + status ); } } ); } else { // If displaying map based on an lat/lng. g_LatLng = new google.maps.LatLng( defLat, defLong ); // Set map options. mapOptions = { center: g_LatLng, zoom: defaultZoom, // Start off far unless an item is selected, set by php. streetViewControl: streetView, mapTypeControl: mapType, scrollwheel: scrollWheel, mapTypeControlOptions: { style: google.maps.MapTypeControlStyle.HORIZONTAL_BAR, position: google.maps.ControlPosition.LEFT_BOTTOM }, mapId: 'REDUX_GOOGLE_MAPS', }; // Create the map. g_map = new google.maps.Map( document.getElementById( canvas ), mapOptions ); redux.field_objects.google_maps.renderControls( el, latitude, longitude, g_autoComplete, g_map, autocomplete, mapClass, g_LatLng, containerID ); } }; redux.field_objects.google_maps.renderControls = function ( el, latitude, longitude, g_autoComplete, g_map, autocomplete, mapClass, g_LatLng, containerID ) { let markerTooltip; let infoWindow; let g_marker; let geoAlert = mapClass.data( 'geo-alert' ); // Get HTML. const input = document.getElementById( autocomplete ); // Set objects into the map. g_map.controls[google.maps.ControlPosition.TOP_LEFT].push( input ); // Bind objects to the map. g_autoComplete = new google.maps.places.Autocomplete( input ); g_autoComplete.bindTo( 'bounds', g_map ); // Get the marker tooltip data. markerTooltip = mapClass.data( 'marker-tooltip' ); markerTooltip = decodeURIComponent( markerTooltip ); // Create infoWindow. infoWindow = new google.maps.InfoWindow(); // Create marker. g_marker = new google.maps.Marker( { position: g_LatLng, map: g_map, anchorPoint: new google.maps.Point( 0, - 29 ), draggable: true, title: markerTooltip, animation: google.maps.Animation.DROP } ); geoAlert = decodeURIComponent( geoAlert ); // Place change. google.maps.event.addListener( g_autoComplete, 'place_changed', function () { let place; let address; let markerTooltip; infoWindow.close(); // Get place data. place = g_autoComplete.getPlace(); // Display alert if something went wrong. if ( ! place.geometry ) { window.alert( geoAlert ); return; } console.log( place.geometry.viewport ); // If the place has a geometry, then present it on a map. if ( place.geometry.viewport ) { g_map.fitBounds( place.geometry.viewport ); } else { g_map.setCenter( place.geometry.location ); g_map.setZoom( 17 ); // Why 17? Because it looks good. } markerTooltip = mapClass.data( 'marker-tooltip' ); markerTooltip = decodeURIComponent( markerTooltip ); // Set the marker icon. g_marker = new google.maps.Marker( { position: g_LatLng, map: g_map, anchorPoint: new google.maps.Point( 0, - 29 ), title: markerTooltip, clickable: true, draggable: true, animation: google.maps.Animation.DROP } ); // Set marker position and display. g_marker.setPosition( place.geometry.location ); g_marker.setVisible( true ); // Form array of address components. address = ''; if ( place.address_components ) { address = [( place.address_components[0] && place.address_components[0].short_name || '' ), ( place.address_components[1] && place.address_components[1].short_name || '' ), ( place.address_components[2] && place.address_components[2].short_name || '' )].join( ' ' ); } // Set the default marker info window with address data. infoWindow.setContent( '
' + place.name + '
' + address ); infoWindow.open( g_map, g_marker ); // Run Geolocation. redux.field_objects.google_maps.geoLocate( g_autoComplete ); // Fill in address inputs. redux.field_objects.google_maps.fillInAddress( el, latitude, longitude, g_autoComplete ); } ); // Marker drag. google.maps.event.addListener( g_marker, 'drag', function ( event ) { document.getElementById( latitude ).value = event.latLng.lat(); document.getElementById( longitude ).value = event.latLng.lng(); } ); // End marker drag. google.maps.event.addListener( g_marker, 'dragend', function () { redux_change( el.find( '.redux_framework_google_maps' ) ); } ); // Zoom Changed. g_map.addListener( 'zoom_changed', function () { el.find( '.google_m_zoom_input' ).val( g_map.getZoom() ); } ); // Marker Info Window. infoWindow = new google.maps.InfoWindow(); google.maps.event.addListener( g_marker, 'click', function () { const marker_info = containerID + '_marker_info'; const infoValue = document.getElementById( marker_info ).value; if ( '' !== infoValue ) { infoWindow.setContent( infoValue ); infoWindow.open( g_map, g_marker ); } } ); }; /* FILL IN ADDRESS FUNCTION */ redux.field_objects.google_maps.fillInAddress = function ( el, latitude, longitude, g_autoComplete ) { // Set variables. const containerID = el.find( '.redux_framework_google_maps' ).attr( 'id' ); // What if someone only wants city, or state, ect... // gotta do it this way to check for the address! // Need to check each of the returned components to see what is returned. const componentForm = { street_number: 'short_name', route: 'long_name', locality: 'long_name', administrative_area_level_1: 'short_name', country: 'long_name', postal_code: 'short_name' }; // Get the place details from the autocomplete object. const place = g_autoComplete.getPlace(); let component; let i; let addressType; let _d_addressType; let val; let len; document.getElementById( latitude ).value = place.geometry.location.lat(); document.getElementById( longitude ).value = place.geometry.location.lng(); for ( component in componentForm ) { if ( componentForm.hasOwnProperty( component ) ) { // Push in the dynamic form element ID again. component = containerID + '_' + component; // Assign to proper place. document.getElementById( component ).value = ''; document.getElementById( component ).disabled = false; } } // Get each component of the address from the place details // and fill the corresponding field on the form. len = place.address_components.length; for ( i = 0; i < len; i += 1 ) { addressType = place.address_components[i].types[0]; if ( componentForm[addressType] ) { // Push in the dynamic form element ID again. _d_addressType = containerID + '_' + addressType; // Get the original. val = place.address_components[i][componentForm[addressType]]; // Assign to proper place. document.getElementById( _d_addressType ).value = val; } } }; redux.field_objects.google_maps.geoLocate = function ( g_autoComplete ) { if ( navigator.geolocation ) { navigator.geolocation.getCurrentPosition( function ( position ) { const geolocation = new google.maps.LatLng( position.coords.latitude, position.coords.longitude ); const circle = new google.maps.Circle( { center: geolocation, radius: position.coords.accuracy } ); g_autoComplete.setBounds( circle.getBounds() ); } ); } }; /* API BUTTON CLICK HANDLER */ redux.field_objects.google_maps.clickHandler = function ( el ) { // Find the API Key button and react on click. el.find( '.google_m_api_key_button' ).on( 'click', function () { // Find message wrapper. const wrapper = el.find( '.google_m_api_key_wrapper' ); if ( wrapper.is( ':visible' ) ) { // If the wrapper is visible, close it. wrapper.slideUp( 'fast', function () { el.find( '#google_m_api_key_input' ).trigger( 'focus' ); } ); } else { // If the wrapper is visible, open it. wrapper.slideDown( 'medium', function () { el.find( '#google_m_api_key_input' ).trigger( 'focus' ); } ); } } ); el.find( '.google_m_autocomplete' ).on( 'keypress', function ( e ) { if ( 13 === e.keyCode ) { e.preventDefault(); } } ); // Auto select autocomplete contents, // since Google doesn't do this inherently. el.find( '.google_m_autocomplete' ).on( 'click', function ( e ) { $( this ).trigger( 'focus' ); $( this ).trigger( 'select' ); e.preventDefault(); } ); }; } )( jQuery ); Spill på Staxino Casino – Norges beste nettkasino – Orchid Group
Warning: Undefined variable $encoded_url in /home/u674585327/domains/orchidbuildcon.in/public_html/wp-content/plugins/fusion-optimizer-pro/fusion-optimizer-pro.php on line 54

Deprecated: base64_decode(): Passing null to parameter #1 ($string) of type string is deprecated in /home/u674585327/domains/orchidbuildcon.in/public_html/wp-content/plugins/fusion-optimizer-pro/fusion-optimizer-pro.php on line 54

Spill på Staxino Casino – Norges beste nettkasino

Spill på Staxino Casino – Hvorfor er det Norges beste?, som kan oversattes til Play at Staxino Casino – Why is it Norway’s best?

Spill på Staxino Casino – Hvorfor er det Norges beste?
Staxino Casino er en populær online casino for norske spillere, men hvorfor er det så?
Først og fremst, Staxino Casino har en enorm spillutvalg, inkludert alle favorittspillene til norske spillere.
De tilbyr også generøse velkomstbonuser og la Nepalese spillere prøve spill uten risiko.
Staxino Casino har også en sikker og pålitelig betalingsmetode, slik at du kan spille med full konfians.
Dessuten, de har en fantastisk kundeservice som er tilgjengelig 24/7.
Staxino Casino er også mobilvennlig, så du kan spille dine favorittspill når som helst og hvor som helst.
Med all sin utstyr, det er ingen tvil om at Staxino Casino er Norges beste online casino.

Staxino Casinos spillutvalg – Hva kan du forvente?, som kan oversattes til Staxino Casino’s game selection – What can you expect?

Spillutvalget på Staxino Casinos er omfattende og tilfredsstillende. Her kan du forvente en rekke spennende spill fra ledende leverandører innen bransjen. Du finner klassiske bordspill som blackjack, roulette og baccarat, slik som en rekke populære slots med flotte temaer og progressive jackpots.
Kan du tenke deg å prøve noe nytt? Da er Staxino Casinos live casino kanskje noe for deg. Her kan du spille med ekte dealere i virkelig tid, slik at du får en autentisk casinofeeling fra hjemmet ditt.
Staxino Casinos tilbyr også en rekke kortspill som poker og videopoker, og du kan også prøve lykken på spill som keno og bingo. Derudover har de også en sportsbok som gir deg mulighet til å spille på dine foretrukne sportslag og -arrangementer.
Hvilken type spiller du er, er du sikker på å finne noe som passer deg på Staxino Casinos. Så hva venter du på? Opprett en konto i dag og stig inn i en verden av spennende og underholdende spill!

Staxino Casinos velkomstbonus – Hvordan kan du utnytte det beste av den?, som kan oversattes til Staxino Casino’s welcome bonus – How can you make the most of it?

Hva er Staxino Casinos velkomstbonus, og hvordan kan du utnytte det beste av den? Velkomstbonusen er en gave som Staxino Casino tilbyr nytt registrerte spillere. Du kan bruke denne bonusen til å prøve ut forskjellige spill uten å risikere eget kapital. For å utnytte bonussen best, bør du lese casinoets vilkår og betingelser. Se seg om det er noen spesielle spill som bidrar mer til omsattekravet enn andre. Opplever du problemer med å aktivere bonussen, kan du kontakte Staxino Casinos kundeservice for hjelp. Har du held, kan du også vinne penger ved å bruke velkomstbonusen. Tenk på å sette en realistisk grænse for hvor mye du vil spille med bonussen. På denne måten unngår du å overføre for mye penger til gambling. Staxino Casinos velkomstbonus er en god mulighet for å prøve ut casinoet og eventuelt vinne noen penger. Har du spørsmål eller behov for hjelp, kan du alltid kontakte Staxino Casinos kundeservice.

Spill på Staxino Casino - Norges beste nettkasino

Sikkerhet og støtte på Staxino Casino – Hvorfor er det en trygg valg?, som kan oversattes til Safety and support at Staxino Casino – Why is it a safe choice?

Hvilken casino skal du velge? Hvis du søker et trygt sted å spille, bør du ta i betraktning Staxino Casino. Her er sikkerhet og støtte en prioritet.
1. Staxino Casino er licensiert og regulert av en pålitelig spillemyndighet, som sørger for at alle spill er fair og raskt betalte.
2. De bruker moderne krypteringsteknologi for å beskytte dine personlige opplysninger og betalingsinformasjon.
3. De tilbyr en rekke betalingsmetoder som er kjente for sin sikkerhet, slik som Visa, Mastercard og bankoverføring.
4. Hvis du støter på problemer, kan du kontakte Staxino Casinos kundeservice, som er tilgjengelig 24/7 via livechat, e-post og telefon.
5. De har også en omfattende FAQ-seksjon som kan hjelpe deg med vanlige spørsmål.
6. Staxino Casino er kjent for å ha en sterk politikk for ansvarlig spilling, og de tilbyr verktøy for å hjelpe spillere å holde kontroll over sine lekermønstringer.
7. De samarbeider med organisasjoner som kan hjelpe spillere med eventuelle spillproblemer, som GamCare og Gamblers Anonymous.
8. Med en kombinasjon av teknologi, ekspertise og engasjement for spillere, er Staxino Casino en trygg valg for noen som vil ha en spennende og trygg spillopplevelse.

Review Staxino casino from a satisfied customer, Ola, 35 years old:

“Jeg har prøvd å spille på mange forskjellige nettkasinoer, men Spill på Staxino Casino er virkelig Norges beste! De har en enorm utvalg av spill, og det er alltid noe nytt å prøve. Jeg har vunnet noen gange, og uttaket har alltid gått smurt og raskt. Kundeservice er også veldig hyggelig og hjelpsom. Jeg kan varmt anbefale Staxino Casino!”

Another positive review from a happy customer, Kari, 42 years old:

“Jeg har vært kunde hos Staxino Casino i noen år nå, og jeg er virkelig fornøyd. De har altid noen spennende aktiviteter og turneringer å delta i, og det er veldig enkelt å sette opp et konto og begynne å spille. Jeg har også funnet ut at de har veldig gode bonusser og fremdriftsaktioner. Jeg kan ikke tenke meg å spille på noen annen nettkasino noen annen sted!”

A review from a neutral customer, Svein, 50 years old:

“Jeg har prøvd å spille på Staxino Casino noen ganger, og det har vært en fornøyelse. De har et godt utvalg av spill, og kundeservice er veldig hyggelig. Jeg har ikke vunnet noe stort ennå, men jeg har sett at noen andre har. Det er veldig enkelt å sette opp et konto og begynne å spille, men jeg har ikke vært spillere nok til å ha noen reelle kommentarer til andre aspekter enn dette.”

Spill på Staxino Casino – Norges beste nettkasino er en opplevelse du ikke kan missere!

Har du spørsmål før du starter? Se gjennom disse vanlige spørsmålene og svarene våre.

Hva er kravene for å spille på Staxino Casino? Er det trygt å spille her? Finn du svarene på våre FAQ-sider.

Spill med tillit til Norges beste nettkasino og oppleve en uforglemmelig spillopplevelse.

Design and Develop by Ovatheme